.model、.domain、.bean、.entity、.vo分层之间的含义 您所在的位置:网站首页 java view层 .model、.domain、.bean、.entity、.vo分层之间的含义

.model、.domain、.bean、.entity、.vo分层之间的含义

2024-07-17 10:36| 来源: 网络整理| 查看: 265

常见SpringBoot或Java Web后端分层时有.model、.domain、.bean、.entity、.vo这几种命名方式,那么这几种命名方式有什么区别及含义呢?

含义: .model

本意“模型”,实义一次操作的最小单位,原子单位,常用作数据校验。

.domain

本意“域”,“域”在数学意义上即位一组数值对应的所有取值结果。对于数据库而言,一张数据表内字段数量是固定不变的,那么该数据表所有对应的排列组合即为域。当然,还看到了有人是这样定义的:除包含本表基本属性外,还可以包含其它属性。有点绕人?请看示例:

public class Student{ private int id; private String name; ... public boolean isQualified; }

请注意isQualified该属性不是改数据表内的属性,是为了某业务逻辑处理而增添的。

.bean

本意即为bean,现在很少看见有人写纯正的bean了,大部分写的都是简化版的(@Data注解除外)。示例如下:

public class BusinessBean implements Serializable{ private int id; private String name; // 无参构造器 // 满参构造器 // 各属性setter、getter方法 @Override pbulic String toString(){ // toString } @Override public boolean equals(){ // equals } }

凡是.model、.domain、.entity、.vo层内的类都是满足具备相应的setter、getter方法的。在不考虑严格定义的情况下也可以被称作Java Bean。

.entity

本意“实体”,即数据库中每张数据表与持久层所对应的实体类。这里以Spring Data JPA为例,假设存在一student表,那么该层所存类如下:

@Table @Entity public class Student{ @Id private int studentId; @Column private String name; // And so on. } .vo

本意“视图对象”,即View Object。常用作由服务端返回给客户端或网页。

public class ResultVO { //状态码,比如1000代表响应成功 private int code; //响应信息,用来说明响应情况 private String msg; //响应的具体数据 private T data; public ResultVO(T data) { this(1000, "success", data); } public ResultVO(int code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有